package com.sakiko._02_springboot_initalizr;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class, args);
        for (String beanDefinitionName : applicationContext.getBeanDefinitionNames()) {
            System.out.println(beanDefinitionName);
        }

    }

}

/*
springboot 三大优势总结:
1、简化整合 [依赖]:
    a.导入场景启动器(starter) 即具备某个方向的所有依赖和配置
    b.场景启动器就是人造的 maven工程，帮我们依赖某个方向的所有依赖，编写某个方向的配置
    c.官方；spring-boot-starter-* 第三方: *-springboot-starter
    d.https://docs.spring.io/spring-boot/reference/using/build-systems.html#using.build-systems.starters
2、简化开发 [ioc配置]:
    a.springboot 帮写好了配置类
    b.springboot 帮我们创建了容器，并且按需加载了这些配置类
    c.springboot 工程下，我们不需要写 ioc的配置就可以完成项目开发
    d.我们更加关注业务！！！
3、简化配置:
    a.约定大于配置，springboot 设置了默认值
    b.约定了一个固定的配置文件 application.properties、application.yaml 【声明配置】
    c.按照 key赋值即可，不用引入，直接就可以使用或者影响行为
 */